//台区 运行转检修
function TR_Run2Maintenance(flag,PF_name,blade,S_num,B_num,RodNum,L_type){
    let new_steps=['核对'+PF_name+'名称、编号及位置正确。'];
    let GC_name=[''];
    let H_GC_name=blade>0? RodNum+'T01刀闸' : RodNum+'T01RD跌落式熔断器';
    let low_blade_num=L_type=='柱上刀闸'? '400' : '401';

    //转热备用
    if(flag[0]){
        //断开低压开关
        for(let i=S_num;i>0;i--){
            new_steps.push('断开401'+i+'开关。');
            new_steps.push('检查401'+i+'开关在分闸位置。');
        }
        //断开低压刀闸
        for(let i=B_num;i>0;i--){
            new_steps.push('拉开'+low_blade_num+i+'G刀闸。');
            new_steps.push('检查'+low_blade_num+i+'G刀闸在拉开位置。');
        }
        //拉开高压熔断器
        new_steps.push('拉开'+RodNum+'T01RD跌落式熔断器。');
        new_steps.push('检查'+RodNum+'T01RD跌落式熔断器在拉开位置。');
    }
    //转冷备用
    if(flag[1]){
        if(!flag[0]){
            for(let i=S_num;i>0;i--){
                new_steps.push('检查401'+i+'开关在分闸位置。');
            }
            for(let i=B_num;i>0;i--){
                new_steps.push('检查'+low_blade_num+i+'G刀闸在拉开位置。');
            }
            //检查拉开高压熔断器
            new_steps.push('检查'+RodNum+'T01RD跌落式熔断器在拉开位置。');
        }
        //拉开高压刀闸
        if(blade>0){
            new_steps.push('拉开'+RodNum+'T01刀闸。');
            new_steps.push('检查'+RodNum+'T01刀闸在拉开位置。');
        }else if(!flag[2]){
            new_steps.push('取下'+RodNum+'T01RD跌落式熔断器熔管。');
        }
    }
    //转检修
    if(flag[2]){
        if((S_num==0)!=(B_num==0)){
            for(let i=S_num;i>0;i--){
                new_steps.push('验明401'+i+'开关变压器侧相线及零线确无电压。');
                new_steps.push('在401'+i+'开关变压器侧装设0.4kV____________接地线1组。');
            }
            for(let i=B_num;i>0;i--){
                new_steps.push('验明400'+i+'刀闸变压器侧相线及零线确无电压。');
                new_steps.push('在400'+i+'刀闸变压器侧装设0.4kV____________接地线1组。');
            }
        }else if((L_type=='配电柜')&(B_num==0)){
            GC_name='4011开关';
            new_steps.push('验明'+GC_name+'变压器侧相线及零线确无电压。');
            new_steps.push('在'+GC_name+'变压器侧装设0.4kV____________接地线1组。');
        }else{
            GC_name=low_blade_num+'1G刀闸';
            new_steps.push('验明'+GC_name+'变压器侧相线及零线确无电压。');
            new_steps.push('在'+GC_name+'变压器侧装设0.4kV____________接地线1组。');
        }
        new_steps.push('验明'+H_GC_name+'变压器侧三相确无电压。');
        new_steps.push('在'+H_GC_name+'变压器侧装设10kV____________接地线1组。');
        if((S_num==0)!=(B_num==0)){
            for(let i=S_num;i>0;i--){
                new_steps.push('在401'+i+'开关操作处上悬挂“禁止合闸，线路有人工作”标志牌。');
            }
            for(let i=B_num;i>0;i--){
                new_steps.push('在400'+i+'刀闸操作处上悬挂“禁止合闸，线路有人工作”标志牌。');
            }
        }else{
            if((L_type=='配电柜')&(B_num==0)){
                GC_name='4011开关';
                new_steps.push('在'+GC_name+'操作处上悬挂“禁止合闸，线路有人工作”标志牌。');
            }else{
                GC_name=low_blade_num+'1G刀闸';
                new_steps.push('在'+GC_name+'操作处上悬挂“禁止合闸，线路有人工作”标志牌。');
            }
        } 
        new_steps.push('在'+H_GC_name+'操作处上悬挂“禁止合闸，线路有人工作”标志牌。');
    }
    console.log(new_steps);
    return new_steps;
}
//台区 检修转运行
function TR_Maintenance2Run(flag,PF_name,blade,S_num,B_num,RodNum,L_type){
    let new_steps=['核对'+PF_name+'名称、编号及位置正确。'];
    let GC_name='';
    let H_GC_name=blade>0? RodNum+'T01刀闸' : RodNum+'T01RD跌落式熔断器';
    let low_blade_num=L_type=='柱上刀闸'? '400' : '401';

    //转冷备用
    if(flag[0]){
        if((S_num==0)!=(B_num==0)){
            for(let i=S_num;i>0;i--){
                new_steps.push('取下401'+i+'开关操作处上“禁止合闸，线路有人工作”标志牌。');
            }
            for(let i=B_num;i>0;i--){
                new_steps.push('取下400'+i+'刀闸操作处上“禁止合闸，线路有人工作”标志牌。');
            }
        }else if((L_type=='配电柜')&(B_num==0)){
            GC_name='4011开关';
            new_steps.push('取下'+GC_name+'操作处上“禁止合闸，线路有人工作”标志牌。');
        }else{
            GC_name=low_blade_num+'1G刀闸';
            new_steps.push('取下'+GC_name+'操作处上“禁止合闸，线路有人工作”标志牌。');
        }
        new_steps.push('取下'+H_GC_name+'操作处上悬挂“禁止合闸，线路有人工作”标志牌。');
        new_steps.push('拆除'+H_GC_name+'变压器侧10kV____________接地线1组。');
        new_steps.push('拆除'+GC_name+'变压器侧0.4kV____________接地线1组。');
        if((S_num==0)!=(B_num==0)){
            for(let i=S_num;i>0;i--){
                new_steps.push('拆除401'+i+'开关变压器侧0.4kV____________接地线1组。');
            }
            for(let i=B_num;i>0;i--){
                new_steps.push('拆除400'+i+'刀闸变压器侧0.4kV____________接地线1组。');
            }
        }else if((L_type=='配电柜')&(B_num==0)){
            GC_name='4011开关';
            new_steps.push('拆除'+GC_name+'变压器侧0.4kV____________接地线1组。');
        }else{
            GC_name=low_blade_num+'1G刀闸';
            new_steps.push('拆除'+GC_name+'变压器侧0.4kV____________接地线1组。');
        }
    }
    //转热备用
    if(flag[1]){
        if(blade>0){
            new_steps.push('检查'+RodNum+'T01RD跌落式熔断器在拉开位置。');
            new_steps.push('合上'+RodNum+'T01刀闸。');
            new_steps.push('检查'+RodNum+'T01刀闸在合上位置。');
        }else if(!flag[0]){
            new_steps.push('装上'+RodNum+'T01RD跌落式熔断器熔管。');
        }
    }
    if(flag[2]){
        for(let i=S_num;i>0;i--){
            new_steps.push('检查401'+i+'开关在分闸位置。');
        }
        for(let i=B_num;i>0;i--){
            new_steps.push('检查'+low_blade_num+i+'G刀闸在拉开位置。');
        }
        new_steps.push('合上'+RodNum+'T01RD跌落式熔断器。');
        new_steps.push('检查'+RodNum+'T01RD跌落式熔断器在合上位置。');
        for(let i=B_num;i>0;i--){
            new_steps.push('合上'+low_blade_num+i+'G刀闸。');
            new_steps.push('检查'+low_blade_num+i+'G刀闸在合上位置。');
        }
        for(let i=1;i<=S_num;i++){
            new_steps.push('合上401'+i+'开关。');
            new_steps.push('检查401'+i+'开关在合闸位置。');
        }
    }
    return new_steps;
}

export function TransformerOutput(PF_name,before,after,blade,l_blade,l_switch,l_model){
    let RodNum=PF_name.match(/#([0-9]+)\s*(杆|塔)+/)[1];
    const Transformermodels={
        '运行-热备用':TR_Run2Maintenance([1,0,0],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '运行-冷备用':TR_Run2Maintenance([1,1,0],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '运行-检修':TR_Run2Maintenance([1,1,1],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '热备用-冷备用':TR_Run2Maintenance([0,1,0],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '热备用-检修':TR_Run2Maintenance([0,1,1],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '冷备用-检修':TR_Run2Maintenance([0,0,1],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '检修-冷备用':TR_Maintenance2Run([1,0,0],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '检修-热备用':TR_Maintenance2Run([1,1,0],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '检修-运行':TR_Maintenance2Run([1,1,1],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '冷备用-热备用':TR_Maintenance2Run([0,1,0],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '冷备用-运行':TR_Maintenance2Run([0,1,1],PF_name,blade,l_switch,l_blade,RodNum,l_model),
        '热备用-运行':TR_Maintenance2Run([0,0,1],PF_name,blade,l_switch,l_blade,RodNum,l_model),
    }
    let steps=Transformermodels[before+'-'+after];
    console.log(steps);
    // let Loc=PF_name.match(/杆*塔*\s*[\u4e00-\u9fa5]+公用台变*/)[0].substring(1).replace(/\s+/g,'');
    let Loc=PF_name;
    // let weiba=model=='柱上开关'? '后段线路':''
    let Renwu='将'+PF_name+'由'+before+'转'+after;
    addticket2page(Loc,Renwu,steps)
}